草庐IT

java - 动态更改@ManagedResource objectName

全部标签

ruby-on-rails - 在不更改系统时钟的情况下在 rspec 测试中设置系统时间

我正在努力让Rails3应用程序准备好使用时区。我的开发机器在美国东部时间,我托管的服务器在UTC。在我的rspec测试中有没有一种方法可以更改ruby​​使用的系统时区,这样我就可以使用相同的系统时区运行测试,而不必更改我计算机上的系统时钟?我研究过Delorean和Timecop,它们不是我要找的。我正在寻找类似的东西Time.system_time_zone="UTC"...然后Time.now将返回UTC时间,而不是我的系统时区设置的时间。 最佳答案 before{Time.stub(:now){Time.now.utc}}

ruby-on-rails - Rails 应用程序中的动态角色和权限系统

我需要在我的Rails应用程序中创建基于角色的权限系统。我对CanCan非常满意,但主要问题是它必须是动态的,这样管理员就必须能够分配权限并创建新角色。权限可以是简单的Controller/操作限制,也可以是数据相关的,例如一些用户只能编辑他们自己的配置文件,而一些用户可以编辑特定组中所有用户的配置文件。如果允许管理员创建新权限,那就太好了。我正在考虑的是在数据库中存储一个Controller/操作,以及一些与数据相关的限制(我在这里对定义它们的方式感到很困惑)。那么,您能否给我一些建议,组织权限的最佳方式是什么?非常感谢任何想法 最佳答案

ruby-on-rails - Ruby on Rails - 更改事件时下拉框

我的应用程序中有两个下拉框。根据在第一个组合框中选择的值,应填充第二个下拉框中的值。这些值应来自数据库。请帮帮我。 最佳答案 这里有一个使用jquery-ujs(https://github.com/rails/jquery-ujs)的简洁方法在你看来:'true',#importantforUJS:'data-url'=>url_for(:controller=>'MyController',:action=>'getdata'),#wegetthedatafromhere!:'data-type'=>'json'#telljQu

ruby-on-rails - 将 Ruby Gems 类比为 Java JAR 是否有效?

我相信我已经非常清楚和简洁地提出了这个问题。我为什么要问?我要向学生解释RubyonRails框架,这需要我对Java世界做一些类比(因为该类(class)非常以Java为中心)。我没有RubyonRails的实践经验,但我觉得Gem/Jar类比是有效的。谁能进一步阐明这个问题? 最佳答案 作为一个简短的回答,我会说:是的,它是有效的。作为一个长答案,我会说:是的,它是有效的,但您可能还想描述一些重要的区别。jar有一些与gem截然不同的品质。JAR是打包的可执行库,您通常必须在调用时在Java程序的执行中显式声明依赖项(通过在调用

ruby-on-rails - Rails 控制台是动态的吗?

rails(~railsc)中的控制台是动态的吗?例如;如果我打开控制台然后对模型进行更改,它会选择这些更改还是我必须退出控制台并再次运行railsc以使其选择模型中的更改? 最佳答案 您需要在控制台中调用reload!方法来重新加载更改。此方法的魔力在开发模式下由railsserver自动调用。正如下面的评论和此处的另一个答案所指出的,如果您更改与应用程序的环境有关的事情,例如将新的gem添加到Gemfile,对config中的任何内容进行更改或添加新插件,然后您需要重新启动控制台。对app的任何更改都可以使用reload!重新加

ruby-on-rails - 如何恢复/撤消对 Activerecord 对象的本地更改?

有没有办法撤消/恢复对Activerecord对象的任何本地更改。例如:user=User.firstuser.name#"Fred"user.name="Sam"user.name_was#"Fred"user.revertuser.name#"Fred"我知道我可以执行user.reload但我不必访问数据库来执行此操作,因为旧值存储在对象的状态中。最好是Rails3解决方案。 最佳答案 如thisanswer中所述Rails4.2在ActiveModel::Dirty中引入了restore_attributes方法:user=

ruby-on-rails - 使用 define_method 动态定义 setter 方法?

我使用大量迭代来定义模型中的便捷方法,例如:PET_NAMES.eachdo|pn|define_method(pn)do......end但我从来没有能够动态定义setter方法,即:defpet_name=(name)...end像这样使用define_method:define_method("pet_name=(name)")do...end有什么想法吗?提前致谢。 最佳答案 这是一个在用于扩展类的模块中使用define_method的完整示例:moduleVerboseSetterdefmake_verbose_sette

ruby - 使用 imagemagick 更改图像的颜色

我想使用rmagick/imagemagick更改图像的前景色。更具体地说:我想转换black或whiteglyphicons-halflings图标(包含在twitterbootstrap中)转换为深蓝色glyphicons-halflings图标。(如果我能指定hexcolor或RGB颜色就好了。)我不知道这是否可行,但我点击了imagemagick文档,发现的唯一内容是convert--size100x100xc:skyblueglyphicons-halflings.png-compositefoo.png,问题在于这仅在您指定大小时有效,并且它正在更改前景色而不是背景色。而且

ruby-on-rails - Rails Migration 更改列以使用 Postgres 数组

我正在尝试更改数据库中的列,以便它可以使用Postgres数组数据类型。目前表列是字符串类型。我正在使用以下迁移来转换它:defchangechange_column:table,:dummy_column,:text,array:true,default:[]end但是我得到以下错误:bundleexecrakedb:migraterakeaborted!Anerrorhasoccurred,thisandalllatermigrationscanceled:PG::Error:ERROR:column"dummy_column"cannotbecastautomaticallyto

ruby-on-rails - Rails 希望我在每次更改时重新启动?

我的View按预期工作;每次我更改某些内容时,它都会立即反射(reflect)在页面上。但是每次我在controller、model或config中进行更改时,我都必须重新启动服务器才能显示。我用railss-edevelopment启动我的服务器,它说明了这一点:=>BootingPuma=>Rails4.1.8applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Run`railsserver-h`formorestartupoptions=>Notice:serverislisteningonallinterfaces(0.